#ifndef Q_INTERNAL_NODE_H
#define Q_INTERNAL_NODE_H

#include "QNode.h"
#include "contest_interface.h"

class QInternalNode : public QNode {
public:
    QNode** childs; // assign childs=new Node*[2^ numOfDimensions];  in constructor of Node
    uint8_t childs_count;
    Key splitter;

private:
    static const int type = 1;

public:
    QInternalNode(int numDim);
    ~QInternalNode(void);
    bool insertChild(QNode *c, uint32_t bucketNum);
    bool hasChildAt(uint32_t bucketNum);

    int getType() const {
        return type;
    };
};

#endif /* Q_INTERNAL_NODE_H */
